home *** CD-ROM | disk | FTP | other *** search
- /*
- * XAES 1.00
- * Test Program
- *
- * Copyright (c) 1994, Bitgate Software. All Rights Reserved.
- * Program by Ken Hollis
- *
- * Shows all functions of XAES off. This program will most likely
- * be larger after a few changes are made to XAES.
- *
- * Although it takes quite a few parameters to create an actual
- * window, it is relatively bug-free. Read the docs (RTFM) for more
- * information. (Or hit HELP if you're using Pure C.)
- */
-
- #include <stddef.h>
- #include <stdio.h>
-
- #include "test.h"
- #include "xaes.h"
- #include "nkcc.h"
-
- int testkind, windsize;
- BOOL backgroundable, sizeable, customwin;
-
- OBJECT *test, *test2, *test3, *test4, *icontree, *test5, *test6,
- *test7, *test8, *test9, *test10;
-
- #define infokind (NAME|MOVER|CLOSER)
- #define allkind 0xFFFF
- #define nokind 0x0000
- #define stdkind (NAME|MOVER|CLOSER)
-
- LOCAL int hormax, vermax, horstep, verstep;
-
- void DoSliders(WINDOW *win)
- {
- WCreateObject(WC_SLIDER, win->tree, 0, hormax, horstep, SLIDER_HOR, SLRT1, SLIDE1, TRACK1, SLLT1);
- WCreateObject(WC_SLIDER, win->tree, 100, 999, 5, SLIDER_HOR, HMAXINC, HMAXSLID, HMAXTRAK, HMAXDEC);
- WCreateObject(WC_SLIDER, win->tree, 25, 999, 5, SLIDER_HOR, VMAXINC, VMAXSLID, VMAXTRAK, VMAXDEC);
- WCreateObject(WC_SLIDER, win->tree, 5, 99, 5, SLIDER_HOR, HSTEPINC, HSTEPSLD, HSTEPTRK, HSTEPDEC);
- WCreateObject(WC_SLIDER, win->tree, 5, 99, 5, SLIDER_HOR, VSTEPINC, VSTEPSLD, VSTEPTRK, VSTEPDEC);
- WCreateObject(WC_SLIDER, win->tree, 0, vermax, verstep, SLIDER_VER, SLDN1, SLIDE5, TRACK5, SLUP1);
- }
-
- int Dlg1Dispatcher(WINDOW *win, int msg_buf[8])
- {
- UNUSED(win);
- UNUSED(msg_buf);
-
- return FALSE;
- }
-
- int Dlg2Dispatcher(WINDOW *win, int msg_buf[8])
- {
- switch(*msg_buf) {
- case WM_COPIED:
- if (win)
- DoSliders(win);
- break;
-
- case WM_SLIDER:
- switch(msg_buf[3]) {
- case HMAXDEC:
- case HMAXTRAK:
- case HMAXSLID:
- case HMAXINC:
- if (msg_buf[4] == 0)
- msg_buf[4] = 1;
-
- if (((msg_buf[4]!=0) && (msg_buf[5]!=0)) &&
- (msg_buf[4]!=msg_buf[5])) {
- hormax = msg_buf[4];
- WCreateObject(WC_SLIDER, win->tree, 0, hormax, horstep, SLIDER_HOR, SLRT1, SLIDE1, TRACK1, SLLT1);
- WUpdateWindowDlgLevel(win, desk.g_x, desk.g_y, desk.g_w, desk.g_h, TRACK1, 1);
- }
- break;
-
- case VMAXDEC:
- case VMAXTRAK:
- case VMAXSLID:
- case VMAXINC:
- if (msg_buf[4] == 0)
- msg_buf[4] = 1;
-
- if (((msg_buf[4]!=0) && (msg_buf[5]!=0)) &&
- (msg_buf[4]!=msg_buf[5])) {
- vermax = msg_buf[4];
- WCreateObject(WC_SLIDER, win->tree, 0, vermax, verstep, SLIDER_VER, SLDN1, SLIDE5, TRACK5, SLUP1);
- WUpdateWindowDlgLevel(win, desk.g_x, desk.g_y, desk.g_w, desk.g_h, TRACK5, 1);
- }
- break;
-
- case HSTEPDEC:
- case HSTEPTRK:
- case HSTEPSLD:
- case HSTEPINC:
- if (msg_buf[4] == 0)
- msg_buf[4] = 1;
-
- if (((msg_buf[4]!=0) && (msg_buf[5]!=0)) &&
- (msg_buf[4]!=msg_buf[5])) {
- horstep = msg_buf[4];
- WCreateObject(WC_SLIDER, win->tree, 0, hormax, horstep, SLIDER_HOR, SLRT1, SLIDE1, TRACK1, SLLT1);
- }
- break;
-
- case VSTEPDEC:
- case VSTEPTRK:
- case VSTEPSLD:
- case VSTEPINC:
- if (msg_buf[4] == 0)
- msg_buf[4] = 1;
-
- if (((msg_buf[4]!=0) && (msg_buf[5]!=0)) &&
- (msg_buf[4]!=msg_buf[5])) {
- verstep = msg_buf[4];
- WCreateObject(WC_SLIDER, win->tree, 0, vermax, verstep, SLIDER_VER, SLDN1, SLIDE5, TRACK5, SLUP1);
- }
- break;
- }
- }
-
- return FALSE;
- }
-
- int Dlg4Dispatcher(WINDOW *win, int msg_buf[8])
- {
- UNUSED(win);
- UNUSED(msg_buf);
-
- return FALSE;
- }
-
- void CheckItems(void)
- {
- menu_icheck(test3, NAMESET, (testkind & NAME) ? TRUE : FALSE);
- menu_icheck(test3, CLOSSET, (testkind & CLOSER) ? TRUE : FALSE);
- menu_icheck(test3, FULLSET, (testkind & FULLER) ? TRUE : FALSE);
- menu_icheck(test3, MOVESET, (testkind & MOVER) ? TRUE : FALSE);
- menu_icheck(test3, INFOSET, (testkind & INFO) ? TRUE : FALSE);
- menu_icheck(test3, SIZESET, (testkind & SIZER) ? TRUE : FALSE);
- menu_icheck(test3, UPARSET, (testkind & UPARROW) ? TRUE : FALSE);
- menu_icheck(test3, DNARSET, (testkind & DNARROW) ? TRUE : FALSE);
- menu_icheck(test3, VSLIDSET, (testkind & VSLIDE) ? TRUE : FALSE);
- menu_icheck(test3, LFARSET, (testkind & LFARROW) ? TRUE : FALSE);
- menu_icheck(test3, RTARSET, (testkind & RTARROW) ? TRUE : FALSE);
- menu_icheck(test3, HSLIDSET, (testkind & HSLIDE) ? TRUE : FALSE);
- menu_icheck(test3, CASCSET, (testkind & CASCADE) ? TRUE : FALSE);
- menu_icheck(test3, MENUSET, (testkind & MENUWORK) ? TRUE : FALSE);
- menu_icheck(test3, OPTISET, (testkind & OPTIONS) ? TRUE : FALSE);
- menu_icheck(test3, SIZEXAES, (sizeable) ? TRUE : FALSE);
- menu_icheck(test3, BKGNXAES, (backgroundable) ? TRUE : FALSE);
- menu_icheck(test3, LWINXAES, (windsize == WC_WINDOW) ? TRUE : FALSE);
- menu_icheck(test3, SWINXAES, (windsize == WC_SWINDOW) ? TRUE : FALSE);
- menu_icheck(test3, CUSTXAES, (customwin) ? TRUE : FALSE);
-
- menu_ienable(test3, CASCSET, (customwin) ? TRUE : FALSE);
- menu_ienable(test3, MENUSET, (customwin) ? TRUE : FALSE);
- menu_ienable(test3, OPTISET, (customwin) ? TRUE : FALSE);
- menu_ienable(test3, SIZEXAES, (customwin) ? TRUE : FALSE);
- menu_ienable(test3, LWINXAES, (customwin) ? TRUE : FALSE);
- menu_ienable(test3, SWINXAES, (customwin) ? TRUE : FALSE);
- }
-
- int EtcDispatcher(int msg_buf[8])
- {
- switch (*msg_buf) {
- case MN_SELECTED:
- menu_tnormal(test3, msg_buf[3], TRUE);
-
- switch(msg_buf[4]) {
- case ABTXAES:
- WCreateObject(WC_WINDOW, W_OPEN|W_DIALOG|W_UNUNTOPPABLE|W_UNSIZABLE,
- ((customwin) ? W_CUSTOMWINDOW : 0), (NAME|CLOSER|MOVER|SIZER),
- "Test dialog 1", " Test info", test, NULL,
- -1, -1, -1, -1, 0, icontree, 1, "Dialog 1", NULL);
- break;
-
- case WIN1XAES:
- WCreateObject(WC_WINDOW, W_OPEN|W_DIALOG|((backgroundable) ? W_BEVENT : 0)|((!(sizeable)) ? W_UNSIZABLE : 0),
- ((customwin) ? W_CUSTOMWINDOW : 0), testkind,
- "Test dialog 1", " Test info", test, NULL,
- -1, -1, -1, -1, 0, icontree, 1, "Dialog 1", NULL);
- break;
-
- case WIN2XAES:
- {
- WINDOW *win;
-
- win = WCreateObject(WC_WINDOW, W_OPEN|W_DIALOG|((backgroundable) ? W_BEVENT : 0)|((!(sizeable)) ? W_UNSIZABLE : 0),
- ((customwin) ? W_CUSTOMWINDOW : 0), testkind,
- "Test dialog 2", " Test info", test2, Dlg2Dispatcher,
- -1, -1, -1, -1, 12, icontree, 1, "Dialog 2", NULL);
- }
- break;
-
- case WIN3XAES:
- WCreateObject(WC_WINDOW, W_OPEN|W_DIALOG|((backgroundable) ? W_BEVENT : 0)|((!(sizeable)) ? W_UNSIZABLE : 0),
- ((customwin) ? W_CUSTOMWINDOW : 0), testkind,
- "Test dialog", " Test info", test5, NULL,
- -1, -1, -1, -1, 0, icontree, 1, "Dialog", NULL);
- break;
-
- case WIN4XAES:
- WCreateObject(WC_WINDOW, W_OPEN|W_DIALOG|((backgroundable) ? W_BEVENT : 0)|((!(sizeable)) ? W_UNSIZABLE : 0),
- ((customwin) ? W_CUSTOMWINDOW : 0), testkind,
- "Test dialog", " Test info", test6, NULL,
- -1, -1, -1, -1, 0, icontree, 1, "Dialog", NULL);
- break;
-
- case WIN5XAES:
- WCreateObject(WC_WINDOW, W_OPEN|W_DIALOG|((backgroundable) ? W_BEVENT : 0)|((!(sizeable)) ? W_UNSIZABLE : 0),
- ((customwin) ? W_CUSTOMWINDOW : 0), testkind,
- "Test dialog", " Test info", test7, NULL,
- -1, -1, -1, -1, 0, icontree, 1, "Dialog", NULL);
- break;
-
- case WIN6XAES:
- WCreateObject(WC_WINDOW, W_OPEN|W_DIALOG|((backgroundable) ? W_BEVENT : 0)|((!(sizeable)) ? W_UNSIZABLE : 0),
- ((customwin) ? W_CUSTOMWINDOW : 0), testkind,
- "Test dialog", " Test info", test8, NULL,
- -1, -1, -1, -1, 0, icontree, 1, "Dialog", NULL);
- break;
-
- case WIN7XAES:
- WCreateObject(WC_WINDOW, W_OPEN|W_DIALOG|((backgroundable) ? W_BEVENT : 0)|((!(sizeable)) ? W_UNSIZABLE : 0),
- ((customwin) ? W_CUSTOMWINDOW : 0), testkind,
- "Test dialog", " Test info", test9, NULL,
- -1, -1, -1, -1, 0, icontree, 1, "Dialog", NULL);
- break;
-
- case WIN8XAES:
- WCreateObject(WC_WINDOW, W_OPEN|W_DIALOG|((backgroundable) ? W_BEVENT : 0)|((!(sizeable)) ? W_UNSIZABLE : 0),
- ((customwin) ? W_CUSTOMWINDOW : 0), testkind,
- "Test dialog", " Test info", test10, NULL,
- -1, -1, -1, -1, 0, icontree, 1, "Dialog", NULL);
- break;
-
- case CHGSET:
- WCreateObject(WC_WINDOW, W_OPEN|W_DIALOG|W_BEVENT|W_UNSIZABLE,
- W_CUSTOMWINDOW, stdkind, "GUI_DEFS Settings", " Test info", test4, NULL,
- -1, -1, -1, -1, 0, icontree, 1, "Settings", NULL);
- break;
-
- case QUITXAES:
- WDie(0);
- break;
-
- case NAMESET:
- testkind = (testkind & NAME) ? testkind & ~NAME : testkind | NAME;
- break;
-
- case CLOSSET:
- testkind = (testkind & CLOSER) ? testkind & ~CLOSER : testkind | CLOSER;
- break;
-
- case FULLSET:
- testkind = (testkind & FULLER) ? testkind & ~FULLER : testkind | FULLER;
- break;
-
- case MOVESET:
- testkind = (testkind & MOVER) ? testkind & ~MOVER : testkind | MOVER;
- break;
-
- case INFOSET:
- testkind = (testkind & INFO) ? testkind & ~INFO : testkind | INFO;
- break;
-
- case SIZESET:
- testkind = (testkind & SIZER) ? testkind & ~SIZER : testkind | SIZER;
- break;
-
- case UPARSET:
- testkind = (testkind & UPARROW) ? testkind & ~UPARROW : testkind | UPARROW;
- break;
-
- case DNARSET:
- testkind = (testkind & DNARROW) ? testkind & ~DNARROW : testkind | DNARROW;
- break;
-
- case VSLIDSET:
- testkind = (testkind & VSLIDE) ? testkind & ~VSLIDE : testkind | VSLIDE;
- break;
-
- case LFARSET:
- testkind = (testkind & LFARROW) ? testkind & ~LFARROW : testkind | LFARROW;
- break;
-
- case RTARSET:
- testkind = (testkind & RTARROW) ? testkind & ~RTARROW : testkind | RTARROW;
- break;
-
- case HSLIDSET:
- testkind = (testkind & HSLIDE) ? testkind & ~HSLIDE : testkind | HSLIDE;
- break;
-
- case CASCSET:
- testkind = (testkind & CASCADE) ? testkind & ~CASCADE : testkind | CASCADE;
- break;
-
- case MENUSET:
- testkind = (testkind & MENUWORK) ? testkind & ~MENUWORK : testkind | MENUWORK;
- break;
-
- case OPTISET:
- testkind = (testkind & OPTIONS) ? testkind & ~OPTIONS : testkind | OPTIONS;
- break;
-
- case SIZEXAES:
- sizeable = (sizeable) ? FALSE : TRUE;
- break;
-
- case BKGNXAES:
- backgroundable = (backgroundable) ? FALSE : TRUE;
- break;
-
- case LWINXAES:
- windsize = WC_WINDOW;
- break;
-
- case SWINXAES:
- windsize = WC_SWINDOW;
- break;
-
- case EALLXAES:
- testkind = allkind;
- break;
-
- case DALLXAES:
- testkind = nokind;
- break;
-
- case STANXAES:
- testkind = stdkind;
- break;
-
- case CUSTXAES:
- customwin = (customwin) ? FALSE : TRUE;
- break;
- }
-
- CheckItems();
- break;
-
- case WM_CLOSEALL:
- if (msg_buf[3] == K_ASK)
- if ((form_alert(1, "[3][Close all windows| |Are you sure?][ Okay | Cancel ]")) == 1)
- return FALSE;
- else
- return TRUE;
-
- if (msg_buf[3] == K_NO_STOP)
- return TRUE;
-
- break;
-
- case WM_PROGEND:
- /* WDie(0); */
- break;
- }
-
- return FALSE;
- }
-
- int KeyDispatcher(int key)
- {
- if (key & NKF_CTRL)
- switch (key & 0xff) {
- case 'I':
- case 'i':
- WCreateObject(WC_WINDOW, W_OPEN|W_DIALOG|W_UNUNTOPPABLE|W_UNSIZABLE,
- ((customwin) ? W_CUSTOMWINDOW : 0), (NAME|CLOSER|MOVER|SIZER),
- "Test dialog 1", " Test info", test, NULL,
- -1, -1, -1, -1, 0, icontree, 1, "Dialog 1", NULL);
- break;
-
- case 'Q':
- case 'q':
- if (_app)
- if ((form_alert(1, "[3][Doing this will quit|the demo.][ Okay | Cancel ]")) == 1)
- WDie(0);
- else
- return TRUE;
-
- return TRUE;
-
- case 'U':
- case 'u':
- WCloseWindow(NULL, WC_OBJECTABLE, K_ASK);
- break;
-
- case 'W':
- case 'w':
- WTopWindow(NULL);
- break;
-
- case 'A':
- case 'a':
- testkind = allkind;
- CheckItems();
- break;
-
- case 'D':
- case 'd':
- testkind = nokind;
- CheckItems();
- break;
- }
-
- if (key & NKF_FUNC)
- switch (key & 0xff) {
- case NK_F1:
- WCreateObject(WC_WINDOW, W_OPEN|W_DIALOG|((backgroundable) ? W_BEVENT : 0)|((!(sizeable)) ? W_UNSIZABLE : 0),
- ((customwin) ? W_CUSTOMWINDOW : 0), testkind,
- "Test dialog 1", " Test info", test, NULL,
- -1, -1, -1, -1, 0, icontree, 1, "Dialog 1", NULL);
- break;
-
- case NK_F2:
- {
- WINDOW *win;
-
- win = WCreateObject(WC_WINDOW, W_OPEN|W_DIALOG|((backgroundable) ? W_BEVENT : 0)|((!(sizeable)) ? W_UNSIZABLE : 0),
- ((customwin) ? W_CUSTOMWINDOW : 0), testkind,
- "Test dialog 2", " Test info", test2, Dlg2Dispatcher,
- -1, -1, -1, -1, 12, icontree, 1, "Dialog 2", NULL);
- }
- break;
- }
-
- return FALSE;
- }
-
- void UnfixObjects()
- {
- unfix_object(test3);
- unfix_object(test);
- unfix_object(test2);
- unfix_object(test4);
- }
-
- int main(void)
- {
- OBJECT *TT;
-
- if (rsrc_load(".\\TEST.RSC")) {
- WBoot();
-
- graf_mouse(ARROW, 0L);
-
- rsrc_gaddr(R_TREE, 0, &test3);
- rsrc_gaddr(R_TREE, 1, &test);
- rsrc_gaddr(R_TREE, 2, &test2);
- rsrc_gaddr(R_TREE, 3, &test4);
- rsrc_gaddr(R_TREE, 4, &icontree);
- rsrc_gaddr(R_TREE, 5, &test5);
- rsrc_gaddr(R_TREE, 6, &test6);
- rsrc_gaddr(R_TREE, 7, &test7);
- rsrc_gaddr(R_TREE, 8, &test8);
- rsrc_gaddr(R_TREE, 9, &test9);
- rsrc_gaddr(R_TREE, 10, &test10);
-
- testkind = NAME|MOVER|SIZER;
- backgroundable = TRUE;
- sizeable = FALSE;
- windsize = WC_WINDOW;
- customwin = TRUE;
-
- fix_object(test3, FALSE, FALSE);
-
- test2[SLIDE1].ob_x++; test2[SLIDE1].ob_y++;
- test2[SLIDE5].ob_x++; test2[SLIDE5].ob_y++;
- test2[HMAXSLID].ob_x++; test2[HMAXSLID].ob_y++;
- test2[VMAXSLID].ob_x++; test2[VMAXSLID].ob_y++;
- test2[HSTEPSLD].ob_x++; test2[HSTEPSLD].ob_y++;
- test2[VSTEPSLD].ob_x++; test2[VSTEPSLD].ob_y++;
-
- WInit(0, EtcDispatcher, KeyDispatcher, " XAES Demo 0.01",
- "XAES", FALSE);
-
- WSetCallback(XC_INITIALIZE, CheckItems);
- WSetCallback(XC_DEINITIALIZE, UnfixObjects);
-
- menu_bar(test3, TRUE);
-
- XCallInitializeCallback;
- XCallStartupCallback;
-
- hormax = 100;
- vermax = 25;
- horstep = 5;
- verstep = 5;
-
- WDoDial();
- menu_bar(test3, FALSE);
-
- XCallDeinitializeCallback;
-
- WTerm(FALSE);
- } else
- form_alert(1, "[3][Sorry, could not locate|the resource file!][ Okay ]");
-
- return FALSE;
- }